"""
        批量处理，对于同一张图片，获得嵌入不同数量的字母之后的图片,abcdef循环嵌入,输出图片存储在Message中
"""
import os
import hide
import trans

def LongMessageBatch(path,n):
    """
    对于一张图片，abcdef……循环嵌入,输出图片存储在Message中,文件命名规则：message长度.jpg
    如果程序没有输出finish，说明为消息过长的退出
    """
    jpeg=hide.jio.read(path)
    out="Message"
    if not os.path.exists(out):
        os.makedirs(out)
    # 开始批嵌入message
    message="" # 最开为a,依次嵌入
    ListKey=[]
    for i in range(0,n):
        message+=chr(ord('a')+len(message)%26)
        temp_message=trans.Str_encode(message)
        print("##############Try imbeding:"+message)
        try :
            key,jpeg_out=hide.imbed(jpeg,temp_message)
        except :
            print("####message len too long to hide.####")
            break
        ListKey.append([key,str(len(message))+".jpg"])
        hide.jio.write(jpeg_out,os.path.join(out,str(len(message))+".jpg"))
    hide.ListSave(ListKey,os.path.join(out,"key.txt"))
    print("Process FINISH ")

if __name__ == "__main__":
    # path=Test.jpg
    print("输入图片路径")
    path=input()
    print("输入嵌入字母的最大个数")
    n=int(input())
    LongMessageBatch(path,n)
